//
//  NSDate - Extension.swift
//  JMWB
//
//  Created by 个人电脑 on 16/3/21.
//  Copyright © 2016年 个人电脑. All rights reserved.
//

import Foundation
extension NSDate{
    class func createTimeString(createAtString : String) -> String {
        // 1.创建时间格式化对象
        let fmt = NSDateFormatter()
        // 2.设置对象的格式EEE(星期) MM(月份) dd(日期) HH(小时):mm(分钟):ss(秒) Z(时区) yyyy(年)
        fmt.dateFormat = "EEE MM dd HH:mm:ss Z yyyy"
        //转为英文的时间
        fmt.locale = NSLocale(localeIdentifier: "en")
        // 3.将字符串转成时间--dateFromString  将时间转为字符串--stringFromDate
        guard let createDate = fmt.dateFromString(createAtString) else{
        return ""
        }
        //4.获取当前时间
        let nowDate = NSDate()
        // 5.获取当前时间和创建时间之间的时间差
        let interValTime = Int(nowDate.timeIntervalSinceDate(createDate))
        //判断时间
        //一分钟内
        if interValTime < 60{
        return "刚刚"
        }
        //一小时内
        if interValTime < 60 * 60{
        return "\(interValTime / 60)分钟前"
        }
        //一天内
        if interValTime < 60 * 60 * 24{
        return "\(interValTime / 60 / 60)小时前"
        }
        //创建日历对象
        let calendar = NSCalendar.currentCalendar()
        //是否在昨天isDateInYesterday
        if calendar.isDateInYesterday(createDate){
        
            fmt.dateFormat = "HH:mm"
            let timeString = fmt.stringFromDate(createDate)
            return "昨天\(timeString)"
            
        }
        //一年内
        let cmps = calendar.components(.Year, fromDate: createDate, toDate: nowDate, options: [])
            if cmps.year < 1{
            fmt.dateFormat = "MM-dd HH:mm"
            let timeString = fmt.stringFromDate(createDate)
                return timeString
            }
        
        //大于一年
        fmt.dateFormat = "yyyy-MM-dd HH:mm"
        let timeString = fmt.stringFromDate(createDate)
        return timeString
    }
    
}